package map;

public class LiLun {
    /*
        查找表
            Map接口
                Map称为查找表，其结构体现的样子看起来像是一个多行两列的表格。
                    左列称为：key-键，右列称为：Value-值。
                    key-键是唯一的，而value-值可以重复。
                    以Key-Value成对保存数据。
                    根据Key获取对应的Value，Key可以看成是Value的索引。

                常见实现类
                    根据内部数据结构的不同，Map接口有多种实现类。
                    常用的有：
                        内部为hash表实现的HashMap。
                        内部使用链表维护顺序的HashMap-LinkedHashMap
                        内部为排序二叉树实现的TreeMap。

                常用方法
                    V put(K key,V v)                            将指定的值与Map中的指定键关联。如果此映射以前包含一个该键的映射关系，
                                                                则用指定值替换旧键。
                    V get(Object key)                           返回指定键所映射的值；如果此Map不包含该键的映射关系，则返回null。
                    int size()                                  返回Map中的键-值映射关系数。
                    V remove(Object key)                        如果存在一个键的映射关系，则将其从此Map中移除。
                    boolean containsKey(Object key)             如果此Map包含指定键的映射关系，则返回true。
                    boolean containsValue(Object value)         如果此Map将一个或多个键映射到指定值，则返回true。
                    boolean isEmpty()                           如果此Map未包含键-值映射关系，则返回true。
                    void clear()                                从此Map中移除所有映射关系。

                Map的遍历
                    常见实现类
                        Map提供了三种遍历方式：
                            遍历所有的Key.
                            遍历所有的Key-Value对.
                            遍历所有的Value（不常用）.
                        方法定义                                                            功能解释
                     Set<K> keySet()                                            返回此Map中包含的键的Set视图。
                     Set<Map.Entry<K,V>> entrySet()                             返回此Map中包含的映射关系的Set视图。
                     Collection<V> values()                                     返回此Map中包含的值的Collection视图。
                     void forEach(BiConsumer<? super K,? super V> action)       对此Map中的每个映射关系执行给定的操作。

                    keySet()-遍历所有的key
                        keySet方法以Set集合形式返回Map中所有的key。

                    entrySet()-遍历多有的key
                        Entry是Map内部接口，没一个实例表示Map中一组键值对。
                            K getKey()：返回这组键值对重的key
                            V getValue()：返回这组键值对重的value
                        value()方法以Collection形式返回Map中所有的value
                            该方法不常用。
                        jdk8之后，Map支持使用lambda表达式遍历，方法为forEach。
     */

    /*
        反射机制
            什么是反射机制

     */
}












